package org.coco.util;

import com.google.gson.internal.$Gson$Preconditions;

import java.lang.reflect.Method;

/**
 * 给对象属性赋值
 */
public class SetterValueUtil {

    /*
     *@param obj 操作的对象
     *@param att 操作的属性
     *@param value 设置的值
     *@param type 参数的类型
     */
    public static void setter(Object obj, String att, Object value, Class<?> type){
        try {
            Method met = obj.getClass().
                    getMethod("set" + initStr(att), type);
            met.invoke(obj, value);
        }catch (Exception e){
            e.printStackTrace();
        }
    }
    public static Object getter(Object obj, String att){
        Object result = null;
        try {
            Method met = obj.getClass().getMethod("get" + initStr(att));
            result = met.invoke(obj);
        }catch (Exception e){
            e.printStackTrace();
        }
        return result;
    }
    public static String initStr(String old){   // 将单词的首字母大写
        String str = old.substring(0,1).toUpperCase() + old.substring(1) ;
        return str ;
    }
}
